// 引入RedisClient模块中的client对象，用于连接和操作Redis数据库
const { client } = require('./RedisClient');

/**
 * 该异步函数用于从Redis数据库获取指定站点和指定日期的数据
 */
async function HGetAllMultiData(params) {
    // 返回一个新的Promise对象
    return new Promise(function (resolve, reject) {
        const multi = client.multi();
        for(const keys of params.keyList){
            multi.hgetall(keys);
        }
        multi.exec(function (err, dataList) {
            try {
                // 如果查询成功，使用resolve函数将数据传递出去
                resolve(dataList);
            } catch (e) {
                // 如果出现错误，使用reject函数将错误对象传递出去
                reject(e);
            }
        });
    })
}

// 导出LrangeSiteMultiData函数，以便其他模块可以使用它
module.exports = HGetAllMultiData;
